A theory of overloading